The World Wide Web Consortium (W3C) describes the eXtensible Stylesheet Language (XSL) as a language for expressing stylesheets. Where a “stylesheet”, a term extended from print publishing to online media, is a definition of the appearance of a document. XSL consists of three parts. The first part is XSL Transformations (XSLT), a language for transforming eXtensible Markup Language (XML) documents. The second part is the XML Path Language (XPath), an expression language used by XSLT to access, or to refer to, parts of an XML document. The third part is XSL Formatting Objects, an XML vocabulary for specifying formatting semantics.
An XSL stylesheet consists of a set of elements called templates. Each template is surrounded by <xsl: template> tags and contains rules to apply when a specified pattern is matched.
Developing XSL stylesheets can be very complicated and error-prone due to the declarative and recursive nature of the XSL language. Often it is difficult to determine, after the application of an XSL stylesheet to an XML document, which template rule has fired (i.e., which template rule has been used) and which pattern has been matched.
Clearly there is a need for an improved debugger to help the developer of stylesheets to debug stylesheets under development.